草庐IT

Android Explicit Intent 抛出 NoClassDefFounderror

全部标签

c++ - C++ 中更宽松的抛出说明符

这个错误是什么意思?我该如何解决?这是导致它的header代码:classBadJumbleException:publicexception{public:BadJumbleException(conststring&msg);//Constructor,acceptsastringasthemessagestring&what();//Returnsthemessagestringprivate:stringmessage;//Storestheexceptionmessage};这是源代码:BadJumbleException::BadJumbleException(consts

c++ - 是否有一个普遍接受的习惯用法来指示 C++ 代码可以抛出异常?

我在使用C++代码时遇到过问题,调用者出乎意料地抛出了异常。阅读您正在使用的模块的每一行以查看它是否抛出异常以及如果是,是什么类型的异常并不总是可能或不切实际。是否存在处理此问题的既定习语或“最佳实践”?我想到了以下几点:在我们的doxygen文档中,我们可以在每个预期会抛出异常的函数及其类型中添加注释。优点:简单。缺点:受用户错误影响。为了安全起见,我们可以在应用程序范围内使用try/catch(...)。优点:我们不会再有任何未捕获的异常。缺点:异常在远离抛出的地方被捕获。很难弄清楚该做什么或出了什么问题。使用异常规范优点:这是处理此问题的语言认可的方式。缺点:需要重构问题库才能使

C++ 重新抛出被捕获的异常

如何重新抛出被捕获的异常catch(...)阻止? 最佳答案 没有操作数的throw重新抛出“当前异常”。 关于C++重新抛出被捕获的异常,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3641672/

c++ - 捕获从 DLL 抛出的异常

当异常退出DLL中的函数时,mingw32运行时仅调用terminatestd::unexpected而不是将异常传播到调用DLL的代码。这个问题有什么解决方案?DLL和调用它的应用程序都使用相同的编译器编译。mingw32支持两种不同的异常机制:SJLJ和Dwarf2。为此,他们中的一个是否应该比另一个工作得更好?也许唯一的选择是切换到MSVC或ICC,或者单独更改构建选项可能会有帮助?请注意,即使是catch(...)也不会捕获任何异常,甚至内置类型(throw1;)也不会,因此这与异常类型的可见性无关。 最佳答案 运行时是否假

C++:通过引用抛出派生类在捕获基类时不起作用

我想用基类Exception抛出我自己的异常。有一个虚方法print将被子类覆盖。我只捕获类型Exception&并使用print来获取特定错误。问题是,一旦我抛出一个子类的引用,它就会被视为基类。这是一个例子:#includeusingnamespacestd;classException{public:virtualvoidprint(){cout这个例子的输出是:ref.print:IllegalArgumentExceptioncatched:Exception使用引用应该导致使用派生类的print方法。在tryblock中,引用确实使用了它。为什么捕获的Exception&不

c++ - 有没有可能让类型具有在容器中抛出的移动操作?

在和同事解释对象的移动操作时,我基本上说移动操作不应该在容器中抛出异常,因为如果移动操作失败,那么就没有办法可靠地带回原始对象。仔细考虑一下,我想知道这是否不正确,如果确实抛出一个移动操作,它可以将原始对象恢复到其原始状态。这样做的原因是,如果一个对象可以抛出,那么它不会因为将包含的对象从旧地址复制或移动到新地址而抛出,而是在无法获取资源时抛出。所以所有原始信息应该仍然存在。如果是这种情况,那么编译器是否应该无法反转它为重构原始对象所做的操作?一个操作可能是单向的,比如移动一个整数,但在那种情况下,它可能只是终止应用程序,如果开发人员想要避免单向操作,也许可以使用交换方法。这只有在默认

c++ - 我可以在 MPI 并行代码中抛出异常吗?

这些是我在为应该使用MPI(在C++中)并行运行的算法设计错误处理时遇到的一些一般性问题:异常是否在并行执行的代码中起作用?行为是否已定义?它们是如何工作的?不同的实现方式是否有所不同?这是好的做法-还是我应该使用返回码? 最佳答案 在理想情况下,您可以使用它们来完成您的要求。我所说的“理想世界”是指您可以选择MPI实现并能够自己管理它(而不是说服集群所有者为您重新配置它)。异常的最小配置将包括:--with-exceptions标志,可能还有一些。我最常使用LAM,默认情况下禁用异常。我相信这也是其他实现的默认设置。它们的工作方式

c++ - 解码抛出的 C++ 异常的参数 (0xE06D7363)

我有一个崩溃转储文件(我的32位Windows应用程序在客户计算机上崩溃了)。异常代码是0xE06D7363。所以,我找到了这个article来自关于解码异常参数的MSDN博客。但是文章中的一个食谱对我不起作用:0:000>.exr-1ExceptionAddress:753ad36f(KERNELBASE!RaiseException+0x00000058)ExceptionCode:e06d7363(C++EHexception)ExceptionFlags:00000001NumberParameters:3Parameter[0]:19930520Parameter[1]:00

c++ - 可以抛出具有私有(private)拷贝构造函数的对象吗?

我遇到了一些我不清楚的异常问题。在C++中,当抛出一个对象时,它首先被复制到一个临时对象,然后将临时对象传递给捕获代码。复制涉及使用对象的类复制构造函数。AFAIK,这意味着如果一个类有一个私有(private)的复制构造函数,它就不能用作异常。但是在VS2010中,编译运行如下代码:classExcept{Except(constExcept&other){i=2;}public:inti;Except():i(1){}};intmain(){try{Exceptex1;throwex1;//privatecopyconstructorisinvoked}catch(Except&e

c++ - 限制 C++ 函数允许的抛出有什么好处?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。从C++函数中声明可能的异常抛出有什么好处?换句话说,添加关键字throw()到底做了什么?我读到像voiddo_something()throw();这样的函数声明应该保证没有异常源自do_something()函数;然而,这似乎不适用于在do_something()中调用的函数,因此它是一个弱保证。请概述此语言功能的用途(和最佳用例)。